namespace Altova
{
	public abstract class TraceProvider
	{
		protected TraceTarget traceTarget;

		protected void WriteTrace(string info)
		{
			if (traceTarget != null)
			{
				traceTarget.WriteTrace(info);
			}
		}

		public void RegisterTraceTarget(TraceTarget newTraceTarget)
		{
			traceTarget = newTraceTarget;
		}

		public void UnregisterTraceTarget()
		{
			traceTarget = null;
		}
	}
}
